// 打包umd模块所用的配置

import { fileURLToPath, URL } from 'node:url'
import { resolve, dirname } from "node:path"

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
const __dirname = dirname(fileURLToPath(import.meta.url))
// https://vite.dev/config/
export default defineConfig({
    plugins: [
        vue(),
        vueJsx(),
    ],
    resolve: {
        alias: {
            '@': fileURLToPath(new URL('./src', import.meta.url))
        },
    },
    publicDir: "empty",
    build: {
        outDir: 'dist/umd',
        lib: {
            // 打包的入口文件
            entry: resolve(__dirname, 'src/bundle.ts'),
            name: 'wlUI',
            fileName: 'wl-ui',
            formats: ['umd']
        },
        // 可以书写rollup的配置
        rollupOptions: {
            external: ['vue'],
            output: {
                exports: 'named',
                // globals 对应的是上面 external 中的依赖
                // 指令了通过什么名字去全局引入这个依赖
                globals: {
                    vue: 'Vue'
                }
            }
        }
    }
})
